/**
 * 基于multer的node express文件上传 配置文件
 *
 * multer : https://github.com/expressjs/multer
 *
 * @type {multer|exports|module.exports}
 */

var multer = require('multer');
var path = require('path')

/**
 * 获取文件后缀
 * @param str
 * @returns {*}
 */
function suffix(str){
    var i=str.indexOf('.');
    if(i!=-1){
        return str.substr(i);
    }
    return "";
}

//添加配置文件到muler对象。
var upload = multer({
    storage: multer.diskStorage({
        //配置文件保存路径
        destination: function (req, file, cb) {
            cb(null, './temp')
        },
        //配置文件名格式模板
        filename: function (req, file, cb) {
            console.log(file);
            cb(null, Date.now()+suffix(file.originalname))
        }
    }),
    fileFilter:(req,file,cb)=>{
        if(file.mimetype.indexOf('image')==0){
            cb(null,true)
        }else{
            cb(new Error('i can not accept :'+file.mimetyp))
        }
    },
    limits:{
        //文件数量限制
        files:9,
        //文件大小限制
        fileSizes:64
    }
})

//导出对象
module.exports = upload;